#pragma once

#include "iostream"
#include "vector"
#include "algorithm"

using namespace std;
/*HJJ QQ479287006
 *如果一个整数 n 在 b 进制下（b 为 2 到 n - 2 之间的所有整数）对应的字符串 全部 都是 回文的 ，那么我们称这个数 n 是 严格回文 的。

给你一个整数 n ，如果 n 是 严格回文 的，请返回 true ，否则返回 false 。

如果一个字符串从前往后读和从后往前读完全相同，那么这个字符串是 回文的 。



示例 1：

输入：n = 9
输出：false
解释：在 2 进制下：9 = 1001 ，是回文的。
在 3 进制下：9 = 100 ，不是回文的。
所以，9 不是严格回文数字，我们返回 false 。
注意在 4, 5, 6 和 7 进制下，n = 9 都不是回文的。
示例 2：

输入：n = 4
输出：false
解释：我们只考虑 2 进制：4 = 100 ，不是回文的。
所以我们返回 false 。
 * */

//9 /2
string Converse(int n,int to)
{

    string ret="";

    while (n!=0)
    {
        int modf=n%to;
        n=n/to;
        if (modf>=10)
            ret=to_string(('0'+modf))+ret;
        else
            ret=to_string(modf)+ret;


    }

    return ret;
}


bool ishuiwen(string& s)
{
    int low=0;
    int hig=s.size()-1;

    while (low<hig)
    {

        if (s[low++]!=s[hig--])
            return false;


    }


    return true;
}



bool isStrictlyPalindromic(int n) {

    for (int i = 2; i <=n-2 ; ++i) {
        string s=Converse(n,i);
        if (!ishuiwen(s))
        {
            return false;
        }


    }



    return true;

}